﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace AvaProvi
{
    class clsSuperficieAccesoria_CD
    {
        private dsTerreno dsTerreno;
        private dsTerrenoTableAdapters.SuperficieAccesoriaTableAdapter TASuperficieAccesoria;

        public clsSuperficieAccesoria_CD()
        {
            this.dsTerreno = new dsTerreno();
            this.dsTerreno.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            this.dsTerreno.DataSetName = "dsTerreno";

            this.TASuperficieAccesoria = new AvaProvi.dsTerrenoTableAdapters.SuperficieAccesoriaTableAdapter();
            this.TASuperficieAccesoria.ClearBeforeFill = true;
            //Falta cadena de conexion
        }

        public BindingList<dsTerreno.SuperficieAccesoriaRow> RecuperSuperficiesAccesoriasDeTerreno(int IDAvaluo)
        {
            BindingList<dsTerreno.SuperficieAccesoriaRow> blSuperficies = new BindingList<dsTerreno.SuperficieAccesoriaRow>();
            TASuperficieAccesoria.RecuperaSuperficiesAccesoriasDeTerreno(this.dsTerreno.SuperficieAccesoria, IDAvaluo);
            foreach (dsTerreno.SuperficieAccesoriaRow filaSuperficie in this.dsTerreno.SuperficieAccesoria)
            {
                blSuperficies.Add(filaSuperficie);
            }
            return blSuperficies;
        }

        public bool CreaSuperficeAccesoria(clsSuperficieAccesoria_CRN objSuperficie)
        {
            int RegistrosAfectados = TASuperficieAccesoria.NuevaSuperficieAccesoria(
                objSuperficie.Numero,
                objSuperficie.Descripcion,
                objSuperficie.SuperficieM2,
                objSuperficie.VRNm2,
                objSuperficie.Demerito,
                objSuperficie.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool ActualizaSuperficeAccesoria(clsSuperficieAccesoria_CRN objSuperficie)
        {
            int RegistrosAfectados = TASuperficieAccesoria.ActualizaSuperficeAccesoria(
                objSuperficie.Numero,
                objSuperficie.Descripcion,
                objSuperficie.SuperficieM2,
                objSuperficie.VRNm2,
                objSuperficie.Demerito,
                objSuperficie.IDSuperficie,
                objSuperficie.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool EliminaSuperficeAccesoria(clsSuperficieAccesoria_CRN objSuperficie)
        {
            int RegistrosAfectados = TASuperficieAccesoria.EliminaSuperficieAccesoria(
                objSuperficie.IDSuperficie,
                objSuperficie.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }


    }
}
